#include <dos.h>
int dosexterr(buffer);
struct DOSERROR *buffer;
Описание.
Функция dosexterr получает значение регистра, возвращаемого системным вызовом MS DOS 59H , и записывает это значение в структуру, на которую указывает buffer . Эта функция полезна, когда системные вызовы вырабатываются в версиях MS DOS 3.0 и старших и которые предлагают расширенную обработку ошибок. Более подробно системные вызовы MS DOS описаны в руководстве "Microsoft MS DOS Programmer's Reference Manual" .
Тип структуры DOSERROR объявлен в <dos.h> и представляет следующее:
struct DOSERROR {
int exterror;
char class;
char action;
char locus;
};
Аргумент NULL -указателя посредством dosexterr определяет в AX возвращаемое значение.
Возвращаемое значение.
Функция dosexterr возвращает значение в регистр AX (идентично значению в поле структуры exterror ).
Пример:
#include <dos.h>
#include <fcntl.h>
#include <stdio.h>
struct DOSERROR doserror;
int fd;
if ((fd=open("test.dat",O_RDONLY))==-1 {
dosexterr(&doserror);
printf("error=%d,class=%d,action=%d,locus=%d\n",
doserror.exterror, doserror.class,
doserror.action, doserror.locus);
}